package com.算法.位运算;

/*
*       将整数的奇偶位互换
*
*   意思就是：将一个十进制的数的二进制的0和1互换位置，，比如6和9
*           6的二进制的最后8位是：00001001
*           9的二进制的最后8位是：00000110
*       他们两的二进制对比，0和1位置互换
*
*
* */

public class 将整数的奇偶位互换 {
    public static void main(String[] args) {
        int a = 7 ;
        //6的二进制是 00000000 00000000 00000000 00000110
        int b = test(a);
        //9的二进制是 00000000 00000000 00000000 00001001
        System.out.println(b);
    }
    public static int test(int N){
        int ou = N&0xaaaaaaaa;
        int ji = N&0x55555555;
        return (ou>>1)^(ji<<1);
    }
}
